home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 February: Tool Chest / Dev.CD Feb 94.toast / New System Software Extensions / QuickDraw™ GX v1.0ß2 / Interfaces & Libraries / interfaces / PrintingMessages.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-29  |  25.5 KB  |  779 lines  |  [TEXT/MPS ]

  1. /* ------------------------------------------------------------------------------
  2.  
  3.     FILENAME
  4.         PrintingMessages.h
  5.  
  6.     DESCRIPTION
  7.         This file defines all the universal printing messages,
  8.         and Printing Manager API functions callable only from
  9.         within a message override.
  10.  
  11.     COPYRIGHT
  12.         Copyright © Apple Computer, Inc. 1989-1993
  13.         All rights reserved. 
  14.     
  15. ------------------------------------------------------------------------------- */
  16.  
  17.  
  18. #ifndef __PRINTINGMESSAGES__
  19. #define __PRINTINGMESSAGES__
  20.  
  21.  
  22. #ifndef __PRINTINGMANAGER__
  23.     #include <PrintingManager.h>
  24. #endif
  25.  
  26. #ifndef __PRINTINGRESTYPES__
  27.     #include <PrintingResTypes.h>
  28. #endif
  29.  
  30. #ifndef __MESSAGEMANAGER__
  31.     #include <Messages.h>
  32. #endif
  33.  
  34. #ifndef __MENUS__
  35.     #include <Menus.h>
  36. #endif
  37.  
  38. #ifndef __LISTS__
  39.     #include <Lists.h>
  40. #endif
  41.  
  42.  
  43. /* ------------------------------------------------------------------------------
  44.  
  45.                                     Constants and Types
  46.  
  47. -------------------------------------------------------------------------------- */
  48.  
  49.  
  50.  
  51. /*--------------------------*/
  52. /* abstract data types...   */
  53. /*--------------------------*/
  54.  
  55.  
  56.  
  57. typedef struct gxPrivateFileRecord *gxSpoolFile;
  58.  
  59.  
  60.  
  61. /*---------------------------------------*/
  62. /* dialog panel constants and types...   */
  63. /*---------------------------------------*/
  64.  
  65.  
  66.  
  67. typedef long gxPanelEvent;
  68.  
  69. enum  {                                                    // dialog panel events
  70.     gxPanelNoEvt                     = (gxPanelEvent) 0,
  71.     gxPanelOpenEvt                 = (gxPanelEvent) 1,            // initialize and draw
  72.     gxPanelCloseEvt                 = (gxPanelEvent) 2,            // your panel is going away ( panel switch, confirm or cancel )
  73.     gxPanelHitEvt                    = (gxPanelEvent) 3,            // there's a hit in your panel
  74.     gxPanelActivateEvt            = (gxPanelEvent) 4,            // the dialog window has just been activated
  75.     gxPanelDeactivateEvt         = (gxPanelEvent) 5,            // the dialog window is about to be deactivated
  76.     gxPanelIconFocusEvt             = (gxPanelEvent) 6,            // the focus changes from the panel to the icon list
  77.     gxPanelPanelFocusEvt         = (gxPanelEvent) 7,            // the focus changes from the icon list to the panel
  78.     gxPanelFilterEvt                = (gxPanelEvent) 8,            // this is called to filter every event
  79.     gxPanelCancelEvt                = (gxPanelEvent) 9,            // the user has cancelled the dialog
  80.     gxPanelConfirmEvt                = (gxPanelEvent) 10,            // the user has confirmed the dialog
  81.     gxPanelDialogEvt                = (gxPanelEvent) 11,            // event to be handle by dialoghandler ( you get to see all events )
  82.     gxPanelOtherEvt                = (gxPanelEvent) 12,            // osEvts, etc.
  83.     gxPanelUserWillConfirmEvt    = (gxPanelEvent) 13            // user has selected confirm, time to parse panel interdependencies
  84. };
  85.  
  86.  
  87. typedef long gxPanelResult;
  88.  
  89. enum {                                        // possible panel responses to dialog handler calls
  90.     gxPanelNoResult                 = 0,
  91.     gxPanelCancelConfirmation     = 1        // only valid from panelUserWillConfirmEvt - used to keep the dialog from going away
  92. };
  93.  
  94.  
  95. enum {                                        // values for the evtAction field in PanelInfoRecord
  96.     gxOtherAction                 = 0,                // current item will not change
  97.     gxClosePanelAction        = 1,                // panel will be closed
  98.     gxCancelDialogAction        = 2,                // dialog will be cancelled
  99.     gxConfirmDialogAction    = 3                // dialog will be confirmed
  100. };
  101.  
  102.  
  103. typedef struct {                            // for FilterPanelEvent and HandlePanelEvent messages
  104.     gxPanelEvent     panelEvt;                    // why we're calling
  105.     short             panelResId;                    // 'panl' resource id of current panel
  106.     DialogPtr         pDlg;                            // pointer to dialog
  107.     EventRecord     *theEvent;                    // pointer to event
  108.     short             itemHit;                        // actual item number as dialog mgr thinks
  109.     short             itemCount;                    // number of items before your items
  110.     short                evtAction;                    // once this event is processed, the action that will result
  111.                                                             // (only meaningful in filtering, used for parsing)
  112.     short                errorStringId;                // STR id of string to put in error alert (0 means no string)
  113.     gxFormat            theFormat;                    // the current format (only meaningful in a format dialog)
  114.     void                *refCon;                        // refCon passed in PanelSetupRecord
  115. } gxPanelInfoRecord;
  116.                     
  117.  
  118. typedef long gxPrintingPanelKind;
  119.  
  120. enum {
  121.     gxApplicationPanel     = (gxPrintingPanelKind) 0,
  122.     gxExtensionPanel        = (gxPrintingPanelKind) 1,
  123.     gxDriverPanel            = (gxPrintingPanelKind) 2
  124. };
  125.     
  126.  
  127. // The gxPanelSetupInfo structure is passed to the dialog handler when the client calls
  128. // to setup panels for the dialog
  129.  
  130.  
  131. typedef struct {
  132.     gxPrintingPanelKind        panelKind;
  133.     short                         panelResId;
  134.     short                         resourceRefNum;
  135.     void                            *refCon;
  136. } gxPanelSetupRecord;
  137.  
  138.  
  139. typedef long gxParsePageRangeResult;        // returned by gxParsePageRange message
  140.  
  141. enum {
  142.     gxRangeNotParsed        = (gxParsePageRangeResult) 0,        // default initial value
  143.     gxRangeParsed            = (gxParsePageRangeResult) 1,
  144.     gxRangeBadFromValue    = (gxParsePageRangeResult) 2,
  145.     gxRangeBadToValue        = (gxParsePageRangeResult) 3
  146. };
  147.  
  148.  
  149.  
  150. /*----------------------------------------*/
  151. /* status-related constants and types...  */
  152. /*----------------------------------------*/
  153.  
  154.  
  155.  
  156. // status type ids
  157.  
  158.  
  159. enum {
  160.     gxNonFatalError = 1,                // effects icon on spooling dialog
  161.     gxFatalError = 2,                    // sends up cool alert on spooling dialog
  162.     gxPrinterReady = 3,                // signals PFE to leave alert mode
  163.     gxUserAttention = 4,                // signals initiation of a modal alert
  164.     gxUserAlert = 5,                    // signals initiation of a moveable modal alert
  165.     gxPageTransmission = 6,            // signals page sent to printer, increments page count in strings to user
  166.     gxOpenConnectionStatus = 7,    // signals PFE to begin animation on printer icon
  167.     gxInformationalStatus = 8,        // default status type, no side effects
  168.     gxSpoolingPageStatus = 9,        // signals page spooled, increments page count in spooling dialog
  169.     gxEndStatus = 10,                    // signals end of spooling
  170.     gxPercentageStatus = 11            // signals the PFE as to the amount of the job which is currently complete
  171. };
  172.  
  173.  
  174. typedef struct {                            // for status messages
  175.     unsigned short        statusType;            // one of the ids listed above ( nonFatalError, etc. )
  176.     unsigned short        statusId;            // specific status ( out of paper, etc. ) - To be defined
  177.     unsigned short        statusAlertId;        //    cool alert id (if any) for status
  178.     Signature            statusOwner;        // creator type of status owner
  179.     short                    statResId;            // id for 'stat' resource
  180.     short                    statResIndex;        // index into 'stat' resource for this status
  181.     short                    dialogResult;        // id of button string selected on dismissal of cool alert
  182.     unsigned short        bufferLen;            // number of bytes in status buffer - total record size must be <= 512
  183.     char                    statusBuffer[1];    // user response from alert
  184. } gxStatusRecord;
  185.  
  186.  
  187.  
  188.  
  189. typedef struct {                            // for WriteStatusToDTPWindow message
  190.     Boolean            useText;
  191.     Handle            hPicture;
  192.     Str255            theText;
  193. } gxDisplayRecord;
  194.  
  195.  
  196.  
  197. /*-----------------------------------------------*/
  198. /* paper mapping-related constants and types...  */
  199. /*-----------------------------------------------*/
  200.  
  201.  
  202. typedef long gxTrayMapping;
  203.  
  204. enum {
  205.     gxDefaultTrayMapping        = (gxTrayMapping) 0,
  206.     gxConfiguredTrayMapping    = (gxTrayMapping) 1
  207. };
  208.  
  209.  
  210.  
  211. /* ------------------------------------------------------------------------------
  212.  
  213.                 API Functions callable only from within message overrides
  214.  
  215. -------------------------------------------------------------------------------- */
  216.  
  217.  
  218.  
  219. #define GXPROTECTEDAPIGLUE(selector) {0x203C, 0x0001, selector, 0xABFE}
  220.  
  221. #define GXPRINTINGDISPATCH(segID, selector) {0x203C, 0x0001, 0, 0x223C, (segID & 0x0FFF), selector << 2, 0xABFE}
  222.  
  223.  
  224. #ifdef __cplusplus
  225. extern "C" {
  226. #endif
  227.  
  228.  
  229. #ifdef applec
  230.  
  231.     #pragma parameter __D0 GXPrintingDispatch(__D1)
  232.     OSErr GXPrintingDispatch (long selector, ...)
  233.         = GXPROTECTEDAPIGLUE(0);
  234.  
  235. #else
  236.  
  237.     OSErr GXPrintingDispatch (long selector, ...)
  238.         = {0x221F, 0x203C, 0x0001, 0x0000, 0xABFE, 0x598F};
  239.  
  240. #endif applec
  241.  
  242. /*
  243.     How to use the GXPRINTINGDISPATCH macro...
  244.     
  245.     If your driver or extension is large, you may want to segment it
  246.     across smaller boundaries than is permitted by the messaging system.
  247.     Without using the Printing Manager's segmentation manager directly,
  248.     the smallest segment you can create consists of the code to override
  249.     a single message.  If you are overriding workhorse messages such as
  250.     RenderPage, you may want to divide up the work among many functions
  251.     distributed across several segments.  Here's how...
  252.     
  253.     The Printing Manager segment scheme involves the construction of a
  254.     single 32-bit dispatch selector, which contains all the information
  255.     necessary for the dispatcher to find a single routine.  It contains the
  256.     segment's resource ID, and the offset within the segment which contains
  257.     the start of the routine.  The GXPRINTINGDISPATCH macro will construct the
  258.     dispatch selector for you, as well as the code to do the dispatch.
  259.     
  260.     Usually, it is convenient to start your segment with a long aligned jump table,
  261.     beginning after the 4 byte header required by the Printing Manager.  The
  262.     macro assumes this is the case and takes a 1-based routine selector from
  263.     which it conmstructs the offset.
  264.     
  265.     For example, if your code is in resource 'pdvr' (print driver), ID=2
  266.     at offset=12 (third routine in segment), you would declare your
  267.     routine as follows:
  268.     
  269.     OSErr MyRenderingRoutine (long param1, Ptr param2)
  270.         = GXPRINTINGDISPATCH(2, 3);
  271.         
  272.     Remember, ALL segment dispatches must return OSErr.  If your routine
  273.     does not generate errors, you must still declare it to return OSErr
  274.     and have the routine itself return noErr.
  275.     
  276.     An alternative way to call across segments is to call the GXPrintingDispatch
  277.     function directly.  You must construct the 32-bit selector yourself and pass
  278.     it as the first parameter.  This is usually not preferable since you don't get
  279.     type-checking unless you declare a prototype as shown above, and your code
  280.     isn't as easy to read.
  281.     
  282.     So given the above prototype, there are two ways to call the function:
  283.     
  284.         anErr = MyRenderingRoutine(p1, p2);            // free type checking!
  285.         
  286.     or:
  287.     
  288.         #define kMyRenderRoutineSelector 0x0002000C
  289.         anErr = GXPrintingDispatch(kMyRenderRoutineSelector, p1, p2);        // no type-checking!
  290.     
  291.     
  292.     Both have the same effect.
  293. */
  294.  
  295.  
  296. gxJob GXGetJob (void)
  297.     = GXPROTECTEDAPIGLUE(1);
  298.  
  299. short GXGetMessageHandlerResFile (void)
  300.     = GXPROTECTEDAPIGLUE(2);
  301.     
  302. Boolean GXSpoolingAborted (void)
  303.     = GXPROTECTEDAPIGLUE(3);
  304.     
  305. OSErr GXJobIdle (void)
  306.     = GXPROTECTEDAPIGLUE(4);
  307.  
  308. OSErr GXReportStatus (short statusID, unsigned short statusIndex)
  309.     = GXPROTECTEDAPIGLUE(5);
  310.  
  311. OSErr GXAlertTheUser (gxStatusRecord *)
  312.     = GXPROTECTEDAPIGLUE(6);
  313.  
  314. OSErr GXSetupDialogPanel (gxPanelSetupRecord *)
  315.     = GXPROTECTEDAPIGLUE(7);
  316.  
  317. OSErr GXCountTrays (gxTrayIndex *numTrays)
  318.     = GXPROTECTEDAPIGLUE(8);
  319.     
  320. OSErr GXGetTrayName (gxTrayIndex trayNumber, Str31 trayName)
  321.     = GXPROTECTEDAPIGLUE(9);
  322.  
  323. OSErr GXSetTrayPaperType (gxTrayIndex whichTray, gxPaperType)
  324.     = GXPROTECTEDAPIGLUE(10);
  325.  
  326. OSErr GXGetTrayPaperType (gxTrayIndex whichTray, gxPaperType)
  327.     = GXPROTECTEDAPIGLUE(11);
  328.  
  329. OSErr GXGetTrayMapping (gxTrayMapping *trayMapping)
  330.     = GXPROTECTEDAPIGLUE(12);
  331.  
  332. void GXCleanupStartJob (void)
  333.     = GXPROTECTEDAPIGLUE(13);
  334.  
  335. void GXCleanupStartPage (void)
  336.     = GXPROTECTEDAPIGLUE(14);
  337.  
  338. void GXCleanupOpenConnection (void)
  339.     = GXPROTECTEDAPIGLUE(15);
  340.  
  341. void GXCleanupStartSendPage (void)
  342.     = GXPROTECTEDAPIGLUE(16);
  343.  
  344.  
  345.  
  346. /* ------------------------------------------------------------------------------
  347.  
  348.                     Constants and types for Universal Printing Messages
  349.  
  350. -------------------------------------------------------------------------------- */
  351.  
  352.  
  353.  
  354. enum {                                            // options for gxCreateSpoolFile message
  355.     gxNoCreateOptions    = 0x00000000,        // just create the file
  356.     gxInhibitAlias        = 0x00000001,        // do not create an alias in the PMD folder
  357.     gxInhibitUniqueName    = 0x00000002    // do not append to the filename to make it unique
  358. };
  359.  
  360.  
  361. enum {                                        // options for gxCloseSpoolFile message
  362.     gxNoCloseOptions    = 0x00000000,        // just close the file
  363.     gxDeleteOnClose    = 0x00000001,        // delete the file rather than closing it
  364.     gxUpdateJobData    = 0x00000002,        // write current job information into file prior to closing
  365.     gxMakeRemoteFile    = 0x00000004        // mark job as a remote file
  366. };
  367.  
  368.  
  369. enum {                                             // options for gxCreateImageFile message
  370.     gxNoImageFile         = 0x00000000,                // don't create image file
  371.     gxMakeImageFile     = 0x00000001,                // create an image file
  372.     gxEachPlane            = 0x00000002,                // only save up planes before rewinding
  373.     gxEachPage            = 0x00000004,                // save up entire pages before rewinding
  374.     gxEntireFile        = gxEachPlane + gxEachPage    // save up the entire file before rewinding
  375. };
  376.  
  377.  
  378. enum {                                        // options for gxBufferData message
  379.     gxNoBufferOptions    = 0x00000000, 
  380.     gxMakeBufferHex        = 0x00000001, 
  381.     gxDontSplitBuffer    = 0x00000002
  382. };
  383.  
  384.  
  385. typedef struct {                            // for gxDumpBuffer and gxFreeBuffer messages
  386.     long            size;                            //    size of buffer in bytes
  387.     long            userData;                    //    client assigned id for the buffer
  388.     char            data[1];                        // array of size bytes
  389. } gxPrintingBuffer;
  390.  
  391.  
  392. typedef struct {                            // for gxRenderPage message
  393.     long        docPageNum;                        // number of page being printed
  394.     long        copyNum;                            // copy number being printed
  395.     Boolean    formatChanged;                    // true if format changed from last page
  396.     Boolean    pageChanged;                    // true if page contents changed from last page
  397.     long        internalUse;                    // private
  398. } gxPageInfoRecord;
  399.  
  400.  
  401.  
  402. /* ------------------------------------------------------------------------------
  403.  
  404.                                 Universal Printing Messages
  405.  
  406. -------------------------------------------------------------------------------- */
  407.  
  408.  
  409. #define GXUNIVSENDGLUE(selector) SendMessageGlue(0x0000, selector)
  410. #define GXFORWARDGLUE ForwardThisMessageGlue
  411.  
  412.  
  413. #define Send_GXFetchTaggedDriverData(tag, id, pHandle) Send_GXFetchTaggedData(tag, id, pHandle, 'drvr')
  414. #define Forward_GXFetchTaggedDriverData(tag, id, pHandle) Forward_GXFetchTaggedData(tag, id, pHandle, 'drvr')
  415.  
  416.  
  417. OSErr Send_GXJobIdle (void)
  418.     = GXUNIVSENDGLUE(gxJobIdle);
  419. OSErr Forward_GXJobIdle (void)
  420.     = GXFORWARDGLUE;
  421.  
  422. OSErr Send_GXJobStatus (gxStatusRecord *)
  423.     = GXUNIVSENDGLUE(gxJobStatus);
  424. OSErr Forward_GXJobStatus (gxStatusRecord *)
  425.     = GXFORWARDGLUE;
  426.  
  427. OSErr Send_GXPrintingEvent (EventRecord *, Boolean filterEvent)
  428.     = GXUNIVSENDGLUE(gxPrintingEvent);
  429. OSErr Forward_GXPrintingEvent (EventRecord *, Boolean filterEvent)
  430.     = GXFORWARDGLUE;
  431.  
  432.  
  433. OSErr Send_GXJobDefaultFormatDialog (gxDialogResult *)
  434.     = GXUNIVSENDGLUE(gxJobDefaultFormatDialog);
  435. OSErr Forward_GXJobDefaultFormatDialog (gxDialogResult *)
  436.     = GXFORWARDGLUE;
  437.     
  438. OSErr Send_GXFormatDialog (gxFormat, StringPtr title, gxDialogResult *)
  439.     = GXUNIVSENDGLUE(gxFormatDialog);
  440. OSErr Forward_GXFormatDialog (gxFormat, StringPtr title, gxDialogResult *)
  441.     = GXFORWARDGLUE;
  442.     
  443. OSErr Send_GXJobPrintDialog (gxDialogResult *)
  444.     = GXUNIVSENDGLUE(gxJobPrintDialog);
  445. OSErr Forward_GXJobPrintDialog (gxDialogResult *)
  446.     = GXFORWARDGLUE;
  447.  
  448. OSErr Send_GXFilterPanelEvent (gxPanelInfoRecord *, Boolean *)
  449.     = GXUNIVSENDGLUE(gxFilterPanelEvent);
  450.  
  451. OSErr Send_GXHandlePanelEvent (gxPanelInfoRecord *, gxPanelResult *)
  452.     = GXUNIVSENDGLUE(gxHandlePanelEvent);
  453.  
  454. OSErr Send_GXParsePageRange (StringPtr fromString, StringPtr toString, gxParsePageRangeResult *result)
  455.     = GXUNIVSENDGLUE(gxParsePageRange);
  456. OSErr Forward_GXParsePageRange (StringPtr fromString, StringPtr toString, gxParsePageRangeResult *result)
  457.     = GXFORWARDGLUE;
  458.     
  459.     
  460. OSErr Send_GXDefaultJob (void)
  461.     = GXUNIVSENDGLUE(gxDefaultJob);
  462. OSErr Forward_GXDefaultJob (void)
  463.     = GXFORWARDGLUE;
  464.     
  465. OSErr Send_GXDefaultFormat (gxFormat)
  466.     = GXUNIVSENDGLUE(gxDefaultFormat);
  467. OSErr Forward_GXDefaultFormat (gxFormat)
  468.     = GXFORWARDGLUE;
  469.  
  470. OSErr Send_GXDefaultPaperType (gxPaperType)
  471.     = GXUNIVSENDGLUE(gxDefaultPaperType);
  472. OSErr Forward_GXDefaultPaperType (gxPaperType)
  473.     = GXFORWARDGLUE;
  474.     
  475. OSErr Send_GXDefaultPrinter (gxPrinter)
  476.     = GXUNIVSENDGLUE(gxDefaultPrinter);
  477. OSErr Forward_GXDefaultPrinter (gxPrinter)
  478.     = GXFORWARDGLUE;
  479.     
  480.  
  481. OSErr Send_GXCreateSpoolFile (FSSpecPtr, long createOptions, gxSpoolFile *)
  482.     = GXUNIVSENDGLUE(gxCreateSpoolFile);
  483. OSErr Forward_GXCreateSpoolFile (FSSpecPtr, long createOptions, gxSpoolFile *)
  484.     = GXFORWARDGLUE;
  485.     
  486. OSErr Send_GXSpoolPage (gxSpoolFile, gxFormat, gxShape)
  487.     = GXUNIVSENDGLUE(gxSpoolPage);
  488. OSErr Forward_GXSpoolPage (gxSpoolFile, gxFormat, gxShape)
  489.     = GXFORWARDGLUE;
  490.  
  491. OSErr Send_GXSpoolData (gxSpoolFile, Ptr data, long *length)
  492.     = GXUNIVSENDGLUE(gxSpoolData);
  493. OSErr Forward_GXSpoolData (gxSpoolFile, Ptr data, long *length)
  494.     = GXFORWARDGLUE;
  495.  
  496. OSErr Send_GXSpoolResource (gxSpoolFile, Handle, ResType, short id)
  497.     = GXUNIVSENDGLUE(gxSpoolResource);
  498. OSErr Forward_GXSpoolResource (gxSpoolFile, Handle, ResType, short id)
  499.     = GXFORWARDGLUE;
  500.  
  501. OSErr Send_GXCompleteSpoolFile (gxSpoolFile)
  502.     = GXUNIVSENDGLUE(gxCompleteSpoolFile);
  503. OSErr Forward_GXCompleteSpoolFile (gxSpoolFile)
  504.     = GXFORWARDGLUE;
  505.  
  506.  
  507. OSErr Send_GXCountPages (gxSpoolFile, long *numPages)
  508.     = GXUNIVSENDGLUE(gxCountPages);
  509. OSErr Forward_GXCountPages (gxSpoolFile, long *numPages)
  510.     = GXFORWARDGLUE;
  511.  
  512. OSErr Send_GXDespoolPage (gxSpoolFile, long, gxFormat, gxShape *,  Boolean *formatChanged)
  513.     = GXUNIVSENDGLUE(gxDespoolPage);
  514. OSErr Forward_GXDespoolPage (gxSpoolFile, long, gxFormat, gxShape *,  Boolean *formatChanged)
  515.     = GXFORWARDGLUE;
  516.  
  517. OSErr Send_GXDespoolData (gxSpoolFile, Ptr data, long *length)
  518.     = GXUNIVSENDGLUE(gxDespoolData);
  519. OSErr Forward_GXDespoolData (gxSpoolFile, Ptr data, long *length)
  520.     = GXFORWARDGLUE;
  521.  
  522. OSErr Send_GXDespoolResource (gxSpoolFile, ResType, short id, Handle *)
  523.     = GXUNIVSENDGLUE(gxDespoolResource);
  524. OSErr Forward_GXDespoolResource (gxSpoolFile, ResType, short id, Handle *)
  525.     = GXFORWARDGLUE;
  526.  
  527. OSErr Send_GXCloseSpoolFile (gxSpoolFile, long closeOptions)
  528.     = GXUNIVSENDGLUE(gxCloseSpoolFile);
  529. OSErr Forward_GXCloseSpoolFile (gxSpoolFile, long closeOptions)
  530.     = GXFORWARDGLUE;
  531.     
  532.     
  533. OSErr Send_GXStartJob (StringPtr docName, long pageCount)
  534.     = GXUNIVSENDGLUE(gxStartJob);
  535. OSErr Forward_GXStartJob (StringPtr docName, long pageCount)
  536.     = GXFORWARDGLUE;
  537.     
  538. OSErr Send_GXFinishJob (void)
  539.     = GXUNIVSENDGLUE(gxFinishJob);
  540. OSErr Forward_GXFinishJob (void)
  541.     = GXFORWARDGLUE;
  542.     
  543. OSErr Send_GXStartPage (gxFormat, long numViewPorts, gxViewPort *viewPortList)
  544.     = GXUNIVSENDGLUE(gxStartPage);
  545. OSErr Forward_GXStartPage (gxFormat, long numViewPorts, gxViewPort *viewPortList)
  546.     = GXFORWARDGLUE;
  547.  
  548. OSErr Send_GXFinishPage (void)
  549.     = GXUNIVSENDGLUE(gxFinishPage);
  550. OSErr Forward_GXFinishPage (void)
  551.     = GXFORWARDGLUE;
  552.     
  553. OSErr Send_GXPrintPage (gxFormat, gxShape)
  554.     = GXUNIVSENDGLUE(gxPrintPage);
  555. OSErr Forward_GXPrintPage (gxFormat, gxShape)
  556.     = GXFORWARDGLUE;
  557.     
  558.  
  559. OSErr Send_GXSetupImageData (void *imageData)
  560.     = GXUNIVSENDGLUE(gxSetupImageData);
  561. OSErr Forward_GXSetupImageData (void *imageData)
  562.     = GXFORWARDGLUE;
  563.  
  564. OSErr Send_GXImageJob(gxSpoolFile, long *closeOptions)
  565.     = GXUNIVSENDGLUE(gxImageJob);
  566. OSErr Forward_GXImageJob (gxSpoolFile, long *closeOptions)
  567.     = GXFORWARDGLUE;
  568.  
  569. OSErr Send_GXImageDocument (gxSpoolFile, void *imageData)
  570.     = GXUNIVSENDGLUE(gxImageDocument);
  571. OSErr Forward_GXImageDocument (gxSpoolFile, void *imageData)
  572.     = GXFORWARDGLUE;
  573.  
  574. OSErr Send_GXImagePage (gxSpoolFile, long pageNumber, gxFormat, void *imageData)
  575.     = GXUNIVSENDGLUE(gxImagePage);
  576. OSErr Forward_GXImagePage (gxSpoolFile, long pageNumber, gxFormat, void *imageData)
  577.     = GXFORWARDGLUE;
  578.  
  579. OSErr Send_GXRenderPage (gxFormat, gxShape, gxPageInfoRecord *, void *imageData)
  580.     = GXUNIVSENDGLUE(gxRenderPage);
  581. OSErr Forward_GXRenderPage (gxFormat, gxShape, gxPageInfoRecord *, void *imageData)
  582.     = GXFORWARDGLUE;
  583.  
  584.  
  585. OSErr Send_GXCreateImageFile (FSSpecPtr, long imageFileOptions, long *)
  586.     = GXUNIVSENDGLUE(gxCreateImageFile);
  587. OSErr Forward_GXCreateImageFile (FSSpecPtr, long imageFileOptions, long *)
  588.     = GXFORWARDGLUE;
  589.  
  590.  
  591. OSErr Send_GXOpenConnection (void)
  592.     = GXUNIVSENDGLUE(gxOpenConnection);
  593. OSErr Forward_GXOpenConnection (void)
  594.     = GXFORWARDGLUE;
  595.  
  596. OSErr Send_GXCloseConnection (void)
  597.     = GXUNIVSENDGLUE(gxCloseConnection);
  598. OSErr Forward_GXCloseConnection (void)
  599.     = GXFORWARDGLUE;
  600.  
  601. OSErr Send_GXStartSendPage (gxFormat)
  602.     = GXUNIVSENDGLUE(gxStartSendPage);
  603. OSErr Forward_GXStartSendPage (gxFormat)
  604.     = GXFORWARDGLUE;
  605.  
  606. OSErr Send_GXFinishSendPage (void)
  607.     = GXUNIVSENDGLUE(gxFinishSendPage);
  608. OSErr Forward_GXFinishSendPage (void)
  609.     = GXFORWARDGLUE;
  610.  
  611.  
  612. OSErr Send_GXWriteData (Ptr data, long length)
  613.     = GXUNIVSENDGLUE(gxWriteData);
  614. OSErr Forward_GXWriteData (Ptr data, long length)
  615.     = GXFORWARDGLUE;
  616.  
  617. OSErr Send_GXBufferData (Ptr data, long length, long bufferOptions)
  618.     = GXUNIVSENDGLUE(gxBufferData);
  619. OSErr Forward_GXBufferData (Ptr data, long length, long bufferOptions)
  620.     = GXFORWARDGLUE;
  621.  
  622. OSErr Send_GXDumpBuffer (gxPrintingBuffer *)
  623.     = GXUNIVSENDGLUE(gxDumpBuffer);
  624. OSErr Forward_GXDumpBuffer (gxPrintingBuffer *)
  625.     = GXFORWARDGLUE;
  626.  
  627. OSErr Send_GXFreeBuffer (gxPrintingBuffer *)
  628.     = GXUNIVSENDGLUE(gxFreeBuffer);
  629. OSErr Forward_GXFreeBuffer (gxPrintingBuffer *)
  630.     = GXFORWARDGLUE;
  631.  
  632.  
  633. OSErr Send_GXCheckStatus (Ptr data, long length, short statusType, Signature owner)
  634.     = GXUNIVSENDGLUE(gxCheckStatus);
  635. OSErr Forward_GXCheckStatus (Ptr data, long length, short statusType, Signature owner)
  636.     = GXFORWARDGLUE;
  637.  
  638. OSErr Send_GXGetDeviceStatus (Ptr cmdData, long cmdSize, Ptr responseData, long *responseSize, Str255 termination)
  639.     = GXUNIVSENDGLUE(gxGetDeviceStatus);
  640. OSErr Forward_GXGetDeviceStatus (Ptr cmdData, long cmdSize, Ptr responseData, long *responseSize, Str255 termination)
  641.     = GXFORWARDGLUE;
  642.  
  643.  
  644. OSErr Send_GXFetchTaggedData (ResType, short id, Handle *, Signature owner)
  645.     = GXUNIVSENDGLUE(gxFetchTaggedData);
  646. OSErr Forward_GXFetchTaggedData (ResType, short id, Handle *, Signature owner)
  647.     = GXFORWARDGLUE;
  648.  
  649.  
  650. OSErr    Send_GXGetDTPMenuList (MenuHandle)
  651.     = GXUNIVSENDGLUE(gxGetDTPMenuList);
  652. OSErr    Forward_GXGetDTPMenuList (MenuHandle)
  653.     = GXFORWARDGLUE;
  654.  
  655. OSErr    Send_GXDTPMenuSelect (short id)
  656.     = GXUNIVSENDGLUE(gxDTPMenuSelect);
  657. OSErr    Forward_GXDTPMenuSelect (short id)
  658.     = GXFORWARDGLUE;
  659.  
  660. OSErr    Send_GXHandleAlertFilter (gxJob, gxStatusRecord *, DialogPtr, EventRecord *, short *, Boolean *returnImmed)
  661.     = GXUNIVSENDGLUE(gxHandleAlertFilter);
  662. OSErr    Forward_GXHandleAlertFilter (gxJob, gxStatusRecord *, DialogPtr, EventRecord *, short *, Boolean *returnImmed)
  663.     = GXFORWARDGLUE;
  664.     
  665.  
  666. OSErr Send_GXJobFormatModeQuery (gxQueryType, void *srcData, void *dstData)
  667.     = GXUNIVSENDGLUE(gxJobFormatModeQuery);
  668. OSErr Forward_GXJobFormatModeQuery (gxQueryType, void *srcData, void *dstData)
  669.     = GXFORWARDGLUE;
  670.  
  671.  
  672. OSErr Send_GXWriteStatusToDTPWindow (gxStatusRecord *, gxDisplayRecord *)
  673.     = GXUNIVSENDGLUE(gxWriteStatusToDTPWindow);
  674. OSErr Forward_GXWriteStatusToDTPWindow (gxStatusRecord *, gxDisplayRecord *)
  675.     = GXFORWARDGLUE;
  676.  
  677. OSErr Send_GXInitializeStatusAlert (gxStatusRecord *, DialogPtr *)
  678.     = GXUNIVSENDGLUE(gxInitializeStatusAlert);
  679. OSErr Forward_GXInitializeStatusAlert (gxStatusRecord *, DialogPtr *)
  680.     = GXFORWARDGLUE;
  681.  
  682. OSErr Send_GXHandleAlertStatus (gxStatusRecord *)
  683.     = GXUNIVSENDGLUE(gxHandleAlertStatus);
  684. OSErr Forward_GXHandleAlertStatus (gxStatusRecord *)
  685.     = GXFORWARDGLUE;
  686.     
  687. OSErr Send_GXHandleAlertEvent (gxStatusRecord *, DialogPtr, EventRecord *, short *response)
  688.     = GXUNIVSENDGLUE(gxHandleAlertEvent);
  689. OSErr Forward_GXHandleAlertEvent (gxStatusRecord *, DialogPtr, EventRecord *, short *response)
  690.     = GXFORWARDGLUE;
  691.         
  692.  
  693. void Send_GXCleanupStartJob (void)
  694.     = GXUNIVSENDGLUE(gxCleanupStartJob);
  695. void Forward_GXCleanupStartJob (void)
  696.     = GXFORWARDGLUE;
  697.  
  698. void Send_GXCleanupStartPage (void)
  699.     = GXUNIVSENDGLUE(gxCleanupStartPage);
  700. void Forward_GXCleanupStartPage (void)
  701.     = GXFORWARDGLUE;
  702.  
  703. void Send_GXCleanupOpenConnection (void)
  704.     = GXUNIVSENDGLUE(gxCleanupOpenConnection);
  705. void Forward_GXCleanupOpenConnection (void)
  706.     = GXFORWARDGLUE;
  707.  
  708. void Send_GXCleanupStartSendPage (void)
  709.     = GXUNIVSENDGLUE(gxCleanupStartSendPage);
  710. void Forward_GXCleanupStartSendPage (void)
  711.     = GXFORWARDGLUE;
  712.  
  713.  
  714. OSErr Send_GXDefaultDesktopPrinter (Str31)
  715.     = GXUNIVSENDGLUE(gxDefaultDesktopPrinter);
  716. OSErr Forward_GXDefaultDesktopPrinter (Str31)
  717.     = GXFORWARDGLUE;
  718.     
  719. OSErr    Send_GXCaptureOutputDevice (Boolean capture)
  720.     = GXUNIVSENDGLUE(gxCaptureOutputDevice);
  721. OSErr    Forward_GXCaptureOutputDevice (Boolean capture)
  722.     = GXFORWARDGLUE;
  723.  
  724.  
  725. OSErr Send_GXOpenConnectionRetry (ResType, void *, Boolean *, OSErr)
  726.     = GXUNIVSENDGLUE(gxOpenConnectionRetry);
  727. OSErr Forward_GXOpenConnectionRetry (ResType, void *, Boolean *, OSErr)
  728.     = GXFORWARDGLUE;
  729.     
  730. OSErr Send_GXExamineSpoolFile (gxSpoolFile)
  731.     = GXUNIVSENDGLUE(gxExamineSpoolFile);
  732. OSErr Forward_GXExamineSpoolFile (gxSpoolFile)
  733.     = GXFORWARDGLUE;
  734.  
  735. OSErr Send_GXFinishSendPlane (void)
  736.     = GXUNIVSENDGLUE(gxFinishSendPlane);
  737. OSErr Forward_GXFinishSendPlane (void)
  738.     = GXFORWARDGLUE;
  739.  
  740. OSErr Send_GXDoesPaperFit( gxPaperType paper, Boolean *fits )
  741.     = GXUNIVSENDGLUE(gxDoesPaperFit);
  742. OSErr Forward_GXDoesPaperFit( gxPaperType paper, Boolean *fits )
  743.     = GXFORWARDGLUE;
  744.     
  745. OSErr Send_GXChooserMessage (short message, short caller, StringPtr objName,
  746.                                     StringPtr zoneName, ListHandle theList, long p2)
  747.     = GXUNIVSENDGLUE(gxChooserMessage);
  748. OSErr Forward_GXChooserMessage (short message, short caller, StringPtr objName,
  749.                                         StringPtr zoneName, ListHandle theList, long p2)
  750.     = GXFORWARDGLUE;
  751.  
  752.  
  753. OSErr Send_GXFindPrinterProfile (gxPrinter, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  754.     = GXUNIVSENDGLUE(gxFindPrinterProfile);
  755. OSErr Forward_GXFindPrinterProfile (gxPrinter, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  756.     = GXFORWARDGLUE;
  757.     
  758. OSErr Send_GXFindFormatProfile (gxFormat, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  759.     = GXUNIVSENDGLUE(gxFindFormatProfile);
  760. OSErr Forward_GXFindFormatProfile (gxFormat, void *searchData, long index, gxColorProfile *returnedProfile, long *numProfiles)
  761.     = GXFORWARDGLUE;
  762.     
  763. OSErr Send_GXSetPrinterProfile (gxPrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  764.     = GXUNIVSENDGLUE(gxSetPrinterProfile);
  765. OSErr Forward_GXSetPrinterProfile (gxPrinter, gxColorProfile oldProfile, gxColorProfile newProfile)
  766.     = GXFORWARDGLUE;
  767.  
  768. OSErr Send_GXSetFormatProfile (gxFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  769.     = GXUNIVSENDGLUE(gxSetFormatProfile);
  770. OSErr Forward_GXSetFormatProfile (gxFormat, gxColorProfile oldProfile, gxColorProfile newProfile)
  771.     = GXFORWARDGLUE;
  772.  
  773. #ifdef __cplusplus
  774. }
  775. #endif
  776.  
  777.  
  778. #endif __PRINTINGMESSAGES__
  779.